package com.arpa.wms.service;

import com.arpa.core.web.Result;
import com.arpa.wms.domain.dto.CarrierDTO;
import com.arpa.wms.domain.dto.CarrierauditDTO;
import com.arpa.wms.domain.entity.Carrier;
import com.arpa.wms.domain.vo.CarrierVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 承运商 服务类
 * </p>
 *
 * @author LEO
 * @since 2020-08-03
 */
public interface ICarrierService extends IService<Carrier> {

    /**
     * 查询列表
     * @param CarrierDto
     * @return
     */
    List<CarrierVO> queryList(CarrierDTO CarrierDto);

    /**
     * 查询合计,包含总数
     * @param CarrierDto
     * @return
     */
    CarrierVO queryListSum(CarrierDTO CarrierDto);


    /**
     * 添加
     * @param carrier
     * @return
     */
    int insert(Carrier carrier);

    /**
     * 更新
     * @param carrier
     * @return
     */
    int update(Carrier carrier);

    /**
     * 通过code查询承运商信息
     * 使用缓存查询
     * @param code
     * @return
     */
    CarrierVO getOneInfo(String code);


    /**
     * 承运商审核
     *
     * @param carrirerauditDTO
     * @return
     */
    int audit(CarrierauditDTO carrirerauditDTO);

    /**
     * 承运商校验
     *
     * @param carrier
     * @return
     */
    void validCarrier(Carrier carrier,boolean update);

    /**
            * 删除
     * @param codes
     * @return
             */
    Result remove(String codes);

}
